//
//  BiDismountListViewController.m
//  TrunkIndustryManageSystem
//
//  Created by WT_lyy on 15/4/29.
//  Copyright (c) 2015年 李璐西. All rights reserved.
//

#import "BiDismountListViewController.h"
#import "BiDismountContentViewController.h"

#import "DismountListCell.h"
#import "MJRefresh.h"

#import "BiDismountEntity.h"
#import "BiFittingInfoEntity.h"
@interface BiDismountListViewController ()<UITableViewDataSource,UITableViewDelegate>{
    
    UITableView * _tableView;
    
    NSMutableArray * _listArray;
}


@end

@implementation BiDismountListViewController

- (id)init{
    
    self = [super init];
    
    if (self) {
        
        _listArray = [NSMutableArray new];
    }
    
    return self;
}

- (void)viewDidLoad {
    [super viewDidLoad];
    
    [self setNavBackBtn];
    
    if (1 == self.type) {
        
        [self setNavBarTitle:@"拆装审批列表"];
    }else if(2 == self.type){
        
        [self setNavBarTitle:@"拆装完结审批列表"];
    }
    
    [self setNavBarWithHidden:NO];
    
    _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, [self viewTop], MAIN_SCREEN_WIDTH, MAIN_SCREEN_HEIGHT - [self viewTop])];
    
    _tableView.delegate = self;
    
    _tableView.dataSource = self;
    
    [self.view addSubview:_tableView];
    
    _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
    
    _tableView.rowHeight = 120;
   
     [self setupRefresh];
}


- (void)viewWillAppear:(BOOL)animated{

    [super viewWillAppear:animated];
    
    NSString * status = nil;
    
    if (1 == self.type) {
        
        status = @"2";
    }else if (2 == self.type){
        
        status = @"5";
    }
    
    NSDictionary * paraDic = [NSDictionary dictionaryWithObjectsAndKeys:[BiUserEntity sharedInstance].userid,@"userId",
                              @"1",@"page",
                              PAGESIZE,@"pageSize",
                              status,@"status",
                              nil];
    
    [[BiNetEngine shareInstance] requestDismountCarList:self paraDict:paraDic];
    
    [self asyshowHUDView:WAITING CurrentView:self];
}

/**
 *  集成刷新控件
 */
- (void)setupRefresh
{
    // 1.下拉刷新(进入刷新状态就会调用self的headerRereshing)
    [_tableView addHeaderWithTarget:self action:@selector(headerRereshing)];
    //#warning 自动刷新(一进入程序就下拉刷新)
    //    [_tableView headerBeginRefreshing];
    
    // 2.上拉加载更多(进入刷新状态就会调用self的footerRereshing)
    [_tableView addFooterWithTarget:self action:@selector(footerRereshing)];
    
    // 设置文字(也可以不设置,默认的文字在MJRefreshConst中修改)
    _tableView.headerPullToRefreshText = @"下拉刷新";
    _tableView.headerReleaseToRefreshText = @"松开即可刷新";
    _tableView.headerRefreshingText = @"刷新中~";
    
    _tableView.footerPullToRefreshText = @"上拉加载更多数据";
    _tableView.footerReleaseToRefreshText = @"松开马上加载";
    _tableView.footerRefreshingText = @"加载中~";
}


#pragma mark 开始进入刷新状态
- (void)headerRereshing
{
    NSLog(@"headerRereshing");
    NSString * status = nil;
    
    if (1 == self.type) {
        
        status = @"2";
    }else if (2 == self.type){
        
        status = @"5";
    }
    
    NSDictionary * paraDic = [NSDictionary dictionaryWithObjectsAndKeys:[BiUserEntity sharedInstance].userid,@"userId",
                              @"1",@"page",
                              PAGESIZE,@"pageSize",
                              status,@"status",
                              nil];
    
    [[BiNetEngine shareInstance] requestDismountCarList:self paraDict:paraDic];
    
    //[self performSelector:@selector(fffff) withObject:nil afterDelay:2];
}

- (void)fffff{
    
    [_tableView headerEndRefreshing];
    [_tableView footerEndRefreshing];
    
}

- (void)footerRereshing
{
    
    [self performSelector:@selector(fffff) withObject:nil afterDelay:2];
    NSLog(@"footerRereshing");
}



#pragma -mark UitabeViewDelegate
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    
    [tableView deselectRowAtIndexPath:indexPath animated:YES];

    BiDismountContentViewController * contentVctrl = [[BiDismountContentViewController alloc] init];
    
    contentVctrl.type = self.type;
    
    contentVctrl.dentity = _listArray[indexPath.row];
    
    [self.navigationController pushViewController:contentVctrl animated:YES];
}

#pragma -mark UitabeViewDatasource

- (NSInteger )tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    
    if (_listArray) {
        
        return _listArray.count;
    }
    
    return 0;
    
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    
    static NSString * myIdentify = @"DismountListCell";
    
    DismountListCell * cell = (DismountListCell *)[tableView dequeueReusableCellWithIdentifier:myIdentify];
    
    if (!cell) {
        
        cell =  [[[NSBundle mainBundle] loadNibNamed:@"DismountListCell" owner:self options:nil] lastObject];
        
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
    }
    
    BiDismountEntity * dentity = _listArray[indexPath.row];
    
    cell.labApplyfor.text = dentity.applyPersonName;
    
    cell.labVin.text = dentity.vin;
    
    cell.labStoreMana.text = dentity.storeKeeperName;
    
    cell.labDismount.text = dentity.dismountPersonName;
    
    cell.labSysNumber.text = dentity.systemNumber;
    
    cell.labCreatTime.text = dentity.createTime;
    
    return cell;
}

#pragma -mark Net Delegate
- (void)onNetEngineResponse:(int)tag entity:(id)entity userInfo:(NSDictionary *)userInfo
{
    
    [self removeHUDView:self];
    
    NSDictionary * entity_ = (NSDictionary *)entity;
    
    [self showMessage:entity_[@"result_info"]];
    
    if ([entity_[@"response_status"] integerValue] != 200) {
        
        return;
        
    }
    
    [_tableView headerEndRefreshing];
    [_tableView footerEndRefreshing];
    [_listArray removeAllObjects];
    
    [_listArray addObjectsFromArray:entity_[@"data"]];
    
    [_tableView reloadData];
    
}
- (void)onNetEngineResponseFail:(int)tag entity:(id)entity userInfo:(NSDictionary *)userInfo
{
    
    [self removeHUDView:self];
    
    [self showMessage:@"请求超时！"];
}


@end
